package cn.vawn.exam.mapper;

import cn.vawn.exam.entity.Paper;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;
import java.util.Map;

public interface PaperMapper {
    int deleteByPrimaryKey(Integer id);

    int insert(Paper record);

    int insertSelective(Paper record);

    Paper selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(Paper record);

    int updateByPrimaryKey(Paper record);

    /*
         * 查询所有问卷类型
         */
    List<String> selectAllType();

    /*
     * 查询所有问卷的id、名称、类型、创建时间
     */
    List<Paper> selectAllPaper();

    /*
     * 根据条件查询问卷
     */
    List<Paper> selectPartPaper(
            @Param("name")String name,
            @Param("type")String type,
            @Param("startTime")Date startTime,
            @Param("endTime")Date endTime
    );

    /*
     * 根据id删除一条数据
     */
    void deleteById(int paperId);

    /*
     * 根据id编辑一条数据
     */
    void updateById(Paper paper);

    /*
     * 查询所有问卷的名称
     */
    List<Map<String, Object>> selectAllName();

    /*
     * 根据id查询数据
     */
    Paper selectPaperById(int paperId);

    /*
     * 体检一条数据
     */
    void insertPaper(Paper paper);

    void updatePaper(Paper paper);
}